package cn.zl.ymcc.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.time.LocalDateTime;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author zl
 * @since 2025-10-21
 */
@Getter
@Setter
@ToString
@Accessors(chain = true)
@TableName("t_course")
public class Course implements Serializable {

    private static final long serialVersionUID = 1L; // 序列化版本号

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 课程名称
     */
    @TableField("name")
    private String name;

    /**
     * 适用人群
     */
    @TableField("for_user")
    private String forUser;

    /**
     * 课程分类
     */
    @TableField("course_type_id")
    private Long courseTypeId;

    @TableField("grade_name")
    private String gradeName;

    /**
     * 课程等级
     */
    @TableField("grade_id")
    private Long gradeId;

    /**
     * 课程状态，下线：0 ， 上线：1
     */
    @TableField("status")
    private Byte status;

    /**
     * 添加课程的后台用户的ID
     */
    @TableField("login_id")
    private Long loginId;

    /**
     * 添加课程的后台用户
     */
    @TableField("login_user_name")
    private String loginUserName;

    /**
     * 课程的开课时间
     */
    @TableField("start_time")
    private String startTime;

    /**
     * 课程的节课时间
     */
    @TableField("end_time")
    private String endTime;

    /**
     * 封面，云存储地址
     */
    @TableField("pic")
    private String pic;

    /**
     * 时长，以分钟为单位
     */
    @TableField("total_minute")
    private Integer totalMinute;

    @TableField("online_time")
    private String onlineTime;

    /**
     * 章节数
     */
    @TableField("chapter_count")
    private Integer chapterCount;

    /**
     * 讲师，逗号分隔多个
     */
    @TableField("teacher_names")
    private String teacherNames;
}